// 重置样式
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
    Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #f7f8fa;
}

// 通用样式类
.page-container {
  min-height: 100vh;
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom);
}

.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.text-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

// 状态样式
.status-tag {
  padding: 2px 6px;
  border-radius: 2px;
  font-size: 12px;
  
  &.pending {
    color: #ff976a;
    background: rgba(255, 151, 106, 0.1);
  }
  
  &.processing {
    color: #1989fa;
    background: rgba(25, 137, 250, 0.1);
  }
  
  &.completed {
    color: #07c160;
    background: rgba(7, 193, 96, 0.1);
  }
  
  &.failed {
    color: #ee0a24;
    background: rgba(238, 10, 36, 0.1);
  }
}

// 动画
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.3s ease;
}

.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}

.slide-up-enter-active,
.slide-up-leave-active {
  transition: transform 0.3s ease;
}

.slide-up-enter-from,
.slide-up-leave-to {
  transform: translateY(100%);
} 